﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 应付单AITDTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class APBillAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public APBillAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
		
		
		
					PriorityGrade= 0; 
				
		
		
		
		
		
		
		
		
		
		
		
		
		
					MatchLayer= -1; 
				
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.APBillLines!=null)
			{
				foreach(ufida.u9.ait.openapi.APBillLineAITDTOData objdata in this.APBillLines)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        			if (this.Transactor != null) 
			{
				this.Transactor.DoSerializeKeyList(dict);
			}
	        			if (this.TaxSchedule != null) 
			{
				this.TaxSchedule.DoSerializeKeyList(dict);
			}
	        			if (this.SrcOrg != null) 
			{
				this.SrcOrg.DoSerializeKeyList(dict);
			}
	        			if (this.SOB != null) 
			{
				this.SOB.DoSerializeKeyList(dict);
			}
	        			if (this.PayTerm != null) 
			{
				this.PayTerm.DoSerializeKeyList(dict);
			}
	        	        			if (this.PostPeriod != null) 
			{
				this.PostPeriod.DoSerializeKeyList(dict);
			}
	        	        	        			if (this.PaySuppSite != null) 
			{
				this.PaySuppSite.DoSerializeKeyList(dict);
			}
	        			if (this.PaySupp != null) 
			{
				this.PaySupp.DoSerializeKeyList(dict);
			}
	        			if (this.Org != null) 
			{
				this.Org.DoSerializeKeyList(dict);
			}
	        			if (this.FC != null) 
			{
				this.FC.DoSerializeKeyList(dict);
			}
	        			if (this.AC != null) 
			{
				this.AC.DoSerializeKeyList(dict);
			}
	        			if (this.DocumentType != null) 
			{
				this.DocumentType.DoSerializeKeyList(dict);
			}
	        			if (this.Dept != null) 
			{
				this.Dept.DoSerializeKeyList(dict);
			}
	        			if (this.AccrueTerm != null) 
			{
				this.AccrueTerm.DoSerializeKeyList(dict);
			}
	        	        	        			if (this.DescFlexField != null) 
			{
				this.DescFlexField.DoSerializeKeyList(dict);
			}
	        	        	        			if (this.AccrueBy != null) 
			{
				this.AccrueBy.DoSerializeKeyList(dict);
			}

		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public APBillAITDTOData(  List<ufida.u9.ait.openapi.APBillLineAITDTOData> aPBillLines  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData transactor  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData taxSchedule  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData srcOrg  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData sOB  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData payTerm  , System.Int16 priorityGrade  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData postPeriod  , System.String docNo  , System.String businessDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData paySuppSite  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData paySupp  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData org  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData fC  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData aC  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData documentType  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData dept  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData accrueTerm  , System.String accrueDate  , System.String memo  , ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData descFlexField  , System.Int32 matchLayer  , System.String invoiceNum  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData accrueBy  )
		{
			initData();
			this.APBillLines = aPBillLines;
			this.Transactor = transactor;
			this.TaxSchedule = taxSchedule;
			this.SrcOrg = srcOrg;
			this.SOB = sOB;
			this.PayTerm = payTerm;
			this.PriorityGrade = priorityGrade;
			this.PostPeriod = postPeriod;
			this.DocNo = docNo;
			this.BusinessDate = businessDate;
			this.PaySuppSite = paySuppSite;
			this.PaySupp = paySupp;
			this.Org = org;
			this.FC = fC;
			this.AC = aC;
			this.DocumentType = documentType;
			this.Dept = dept;
			this.AccrueTerm = accrueTerm;
			this.AccrueDate = accrueDate;
			this.Memo = memo;
			this.DescFlexField = descFlexField;
			this.MatchLayer = matchLayer;
			this.InvoiceNum = invoiceNum;
			this.AccrueBy = accrueBy;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 应付单行
		/// 应付单AITDTO.Misc.应付单行
		/// </summary>
		private List<ufida.u9.ait.openapi.APBillLineAITDTOData> m_aPBillLines ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.APBillLineAITDTOData> APBillLines
		{
			get	
			{	
				if (m_aPBillLines == null )
				{
					List<ufida.u9.ait.openapi.APBillLineAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.APBillLineAITDTOData>() ;
					m_aPBillLines = n_m_list ;
				}
				return m_aPBillLines ;
			}
			set	
			{	
				m_aPBillLines = value ;	
			}
		}
			
		

		/// <summary>
		/// 业务员
		/// 应付单AITDTO.Misc.业务员
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_transactor ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Transactor
		{
			get	
			{	
				return m_transactor ;
			}
			set	
			{	
				m_transactor = value ;	
			}
		}
			
		

		/// <summary>
		/// 税组合
		/// 应付单AITDTO.Misc.税组合
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_taxSchedule ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData TaxSchedule
		{
			get	
			{	
				return m_taxSchedule ;
			}
			set	
			{	
				m_taxSchedule = value ;	
			}
		}
			
		

		/// <summary>
		/// 来源组织
		/// 应付单AITDTO.Misc.来源组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_srcOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SrcOrg
		{
			get	
			{	
				return m_srcOrg ;
			}
			set	
			{	
				m_srcOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 账簿
		/// 应付单AITDTO.Misc.账簿
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_sOB ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SOB
		{
			get	
			{	
				return m_sOB ;
			}
			set	
			{	
				m_sOB = value ;	
			}
		}
			
		

		/// <summary>
		/// 收款条件
		/// 应付单AITDTO.Misc.收款条件
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_payTerm ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PayTerm
		{
			get	
			{	
				return m_payTerm ;
			}
			set	
			{	
				m_payTerm = value ;	
			}
		}
			
		

		/// <summary>
		/// 有限等级
		/// 应付单AITDTO.Misc.有限等级
		/// </summary>
		private System.Int16 m_priorityGrade ;
		[DataMember(IsRequired=false)]
		public System.Int16 PriorityGrade
		{
			get	
			{	
				return m_priorityGrade ;
			}
			set	
			{	
				m_priorityGrade = value ;	
			}
		}
			
		

		/// <summary>
		/// 记账期间
		/// 应付单AITDTO.Misc.记账期间
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_postPeriod ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PostPeriod
		{
			get	
			{	
				return m_postPeriod ;
			}
			set	
			{	
				m_postPeriod = value ;	
			}
		}
			
		

		/// <summary>
		/// 单号
		/// 应付单AITDTO.Misc.单号
		/// </summary>
		private System.String m_docNo ;
		[DataMember(IsRequired=false)]
		public System.String DocNo
		{
			get	
			{	
				return m_docNo ;
			}
			set	
			{	
				m_docNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据日期
		/// 应付单AITDTO.Misc.单据日期
		/// </summary>
		private System.String m_businessDate ;
		[DataMember(IsRequired=false)]
		public System.String BusinessDate
		{
			get	
			{	
				return m_businessDate ;
			}
			set	
			{	
				m_businessDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 付款供应商地址
		/// 应付单AITDTO.Misc.付款供应商地址
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_paySuppSite ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PaySuppSite
		{
			get	
			{	
				return m_paySuppSite ;
			}
			set	
			{	
				m_paySuppSite = value ;	
			}
		}
			
		

		/// <summary>
		/// 付款供应商
		/// 应付单AITDTO.Misc.付款供应商
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_paySupp ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PaySupp
		{
			get	
			{	
				return m_paySupp ;
			}
			set	
			{	
				m_paySupp = value ;	
			}
		}
			
		

		/// <summary>
		/// 组织
		/// 应付单AITDTO.Misc.组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_org ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Org
		{
			get	
			{	
				return m_org ;
			}
			set	
			{	
				m_org = value ;	
			}
		}
			
		

		/// <summary>
		/// 本币
		/// 应付单AITDTO.Misc.本币
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_fC ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData FC
		{
			get	
			{	
				return m_fC ;
			}
			set	
			{	
				m_fC = value ;	
			}
		}
			
		

		/// <summary>
		/// 币种
		/// 应付单AITDTO.Misc.币种
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_aC ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData AC
		{
			get	
			{	
				return m_aC ;
			}
			set	
			{	
				m_aC = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据类型
		/// 应付单AITDTO.Misc.单据类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_documentType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData DocumentType
		{
			get	
			{	
				return m_documentType ;
			}
			set	
			{	
				m_documentType = value ;	
			}
		}
			
		

		/// <summary>
		/// 部门
		/// 应付单AITDTO.Misc.部门
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_dept ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Dept
		{
			get	
			{	
				return m_dept ;
			}
			set	
			{	
				m_dept = value ;	
			}
		}
			
		

		/// <summary>
		/// 立账条件
		/// 应付单AITDTO.Misc.立账条件
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_accrueTerm ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData AccrueTerm
		{
			get	
			{	
				return m_accrueTerm ;
			}
			set	
			{	
				m_accrueTerm = value ;	
			}
		}
			
		

		/// <summary>
		/// 立账日期
		/// 应付单AITDTO.Misc.立账日期
		/// </summary>
		private System.String m_accrueDate ;
		[DataMember(IsRequired=false)]
		public System.String AccrueDate
		{
			get	
			{	
				return m_accrueDate ;
			}
			set	
			{	
				m_accrueDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 备注
		/// 应付单AITDTO.Misc.备注
		/// </summary>
		private System.String m_memo ;
		[DataMember(IsRequired=false)]
		public System.String Memo
		{
			get	
			{	
				return m_memo ;
			}
			set	
			{	
				m_memo = value ;	
			}
		}
			
		

		/// <summary>
		/// 实体扩展字段
		/// 应付单AITDTO.Misc.实体扩展字段
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData m_descFlexField ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
			
		

		/// <summary>
		/// 匹配层级
		/// 应付单AITDTO.Misc.匹配层级
		/// </summary>
		private System.Int32 m_matchLayer ;
		[DataMember(IsRequired=false)]
		public System.Int32 MatchLayer
		{
			get	
			{	
				return m_matchLayer ;
			}
			set	
			{	
				m_matchLayer = value ;	
			}
		}
			
		

		/// <summary>
		/// 发票号
		/// 应付单AITDTO.Misc.发票号
		/// </summary>
		private System.String m_invoiceNum ;
		[DataMember(IsRequired=false)]
		public System.String InvoiceNum
		{
			get	
			{	
				return m_invoiceNum ;
			}
			set	
			{	
				m_invoiceNum = value ;	
			}
		}
			
		

		/// <summary>
		/// 立账依据
		/// 应付单AITDTO.Misc.立账依据
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_accrueBy ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData AccrueBy
		{
			get	
			{	
				return m_accrueBy ;
			}
			set	
			{	
				m_accrueBy = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																																																
		#endregion 
	} 	
}
